Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI builds should use 10.12 as min macOS version #121

Merged
merged 7 commits into from
Aug 9, 2022

Conversation

twaritwaikar
Copy link
Contributor

Testing a fix for #119

(I don't have a mac 10.x system to test this on, so any help with that will be much appreciated!

@Calinou
Copy link
Member

Calinou commented Aug 7, 2022

(I don't have a mac 10.x system to test this on, so any help with that will be much appreciated!

cc @daviewales

@daviewales
Copy link

This is improved. otool -l lists the following:

Load command 8
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.13
      sdk 12.1

However, actually running it gives a missing symbol:

Loading resource: res://addons/godot-git-plugin/git_api.gdns
Loading resource: res://addons/godot-git-plugin/git_api.gdnlib
ERROR: Can't open dynamic library: ~/project/addons/godot-git-plugin/osx/libgitapi.dylib, error: dlopen(~/project/addons/godot-git-plugin/osx/libgitapi.dylib, 2): Symbol not found: ____chkstk_darwin
  Referenced from: ~/project/addons/godot-git-plugin/osx/libgitapi.dylib
  Expected in: /usr/lib/libSystem.B.dylib
 in ~/project/addons/godot-git-plugin/osx/libgitapi.dylib.
   at: open_dynamic_library (platform/osx/os_osx.mm:1956)
ERROR: No valid library handle, can't get symbol from GDNative object
   at: get_symbol (modules/gdnative/gdnative.cpp:510)
ERROR: No nativescript_init in "res://addons/godot-git-plugin/osx/libgitapi.dylib" found
   at: init_library (modules/gdnative/nativescript/nativescript.cpp:1503)

I think this symbol was added in 10.14 or 10.15. I'm guessing that something's missed the min_macosx memo. I'll have another look through how it's built, but I'm wondering if it might be related to the dependencies installed with brew?

@twaritwaikar
Copy link
Contributor Author

twaritwaikar commented Aug 8, 2022

I think it's one of the libraries built in build_openssl_universal_osx.sh that didn't pick up the min macOS flag because technically it was built outside SCons. If I look in the script, I don't see any flag related to that being sent in.

Need to see what flags does the /Configure command support when building OpenSSL and then send that in if it supports setting a min macOS version

@daviewales
Copy link

That was my next guess. I'll have a play.

@twaritwaikar
Copy link
Contributor Author

@daviewales I made a couple of changes in that script and we got new artefacts ready here - https://github.com/godotengine/godot-git-plugin/actions/runs/2819308657

Could you please test this artefact again? It should support macOS >=10.13. We couldn't do 10.12 because of some usages of futimens() (added in 10.13) in the libgit2 dependency.

Copy link

@daviewales daviewales left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works!!! Confirmed on macOS 10.13.6.

@twaritwaikar
Copy link
Contributor Author

Awesome! Thanks a ton for testing these builds!

@twaritwaikar twaritwaikar merged commit 516a24d into godotengine:v2.x Aug 9, 2022
@twaritwaikar twaritwaikar deleted the min-macos-version branch August 9, 2022 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants